package prototype;

/**
 * Created by liuweijie on 2018/4/24.
 */
public class Test {
    public static void main(String[] args) throws CloneNotSupportedException {
        // 这里是利用了对象流来实现对象的深克隆，深克隆是原型模式的一个重要表现。
        // 什么时候回用到原型模式呢？
        // ---->就是当对象的属性非常多的时候，人工复制一个具有相同内容的对象所需要的成本非常大的时候，就可以考虑用这个模式来做。
        // 简单来说就是一键复制
         Printer printer =new Printer();
        Printer newPrinter =(Printer) printer.clone();
        System.out.println("原对象hash值："+printer.hashCode());
        System.out.println("新对象hash值："+newPrinter.hashCode());
        System.out.println(printer == newPrinter);
        System.out.println(printer.getPage() == newPrinter.getPage());
        printer.getPage().userForWrite();
        newPrinter.getPage().userForWrite();

    }
}
